package com.hyxt.utils;

import com.hyxt.superviseservice.messageBody.T809_0x1001;
import com.hyxt.superviseservice.messageBody.T809_0x1002;
import com.hyxt.superviseservice.messageBody.T809_0x1003;
import com.hyxt.superviseservice.messageBody.T809_0x1004;
import com.hyxt.superviseservice.messageBody.T809_0x1005;
import com.hyxt.superviseservice.messageBody.T809_0x1006;
import com.hyxt.superviseservice.messageBody.T809_0x1007;
import com.hyxt.superviseservice.messageBody.T809_0x1008;
import com.hyxt.superviseservice.messageBody.T809_0x1200;
import com.hyxt.superviseservice.messageBody.T809_0x1201;
import com.hyxt.superviseservice.messageBody.T809_0x1202;
import com.hyxt.superviseservice.messageBody.T809_0x1203;
import com.hyxt.superviseservice.messageBody.T809_0x1205;
import com.hyxt.superviseservice.messageBody.T809_0x1206;
import com.hyxt.superviseservice.messageBody.T809_0x1207;
import com.hyxt.superviseservice.messageBody.T809_0x1208;
import com.hyxt.superviseservice.messageBody.T809_0x1209;
import com.hyxt.superviseservice.messageBody.T809_0x120A;
import com.hyxt.superviseservice.messageBody.T809_0x120B;
import com.hyxt.superviseservice.messageBody.T809_0x120C;
import com.hyxt.superviseservice.messageBody.T809_0x120D;
import com.hyxt.superviseservice.messageBody.T809_0x1300;
import com.hyxt.superviseservice.messageBody.T809_0x1301;
import com.hyxt.superviseservice.messageBody.T809_0x1302;
import com.hyxt.superviseservice.messageBody.T809_0x1400;
import com.hyxt.superviseservice.messageBody.T809_0x1401;
import com.hyxt.superviseservice.messageBody.T809_0x1402;
import com.hyxt.superviseservice.messageBody.T809_0x1403;
import com.hyxt.superviseservice.messageBody.T809_0x1500;
import com.hyxt.superviseservice.messageBody.T809_0x1501;
import com.hyxt.superviseservice.messageBody.T809_0x1502;
import com.hyxt.superviseservice.messageBody.T809_0x1503;
import com.hyxt.superviseservice.messageBody.T809_0x1504;
import com.hyxt.superviseservice.messageBody.T809_0x1505;
import com.hyxt.superviseservice.messageBody.T809_0x1600;
import com.hyxt.superviseservice.messageBody.T809_0x1601;
import com.hyxt.superviseservice.messageBody.T809_0x9001;
import com.hyxt.superviseservice.messageBody.T809_0x9002;
import com.hyxt.superviseservice.messageBody.T809_0x9003;
import com.hyxt.superviseservice.messageBody.T809_0x9004;
import com.hyxt.superviseservice.messageBody.T809_0x9005;
import com.hyxt.superviseservice.messageBody.T809_0x9006;
import com.hyxt.superviseservice.messageBody.T809_0x9007;
import com.hyxt.superviseservice.messageBody.T809_0x9008;
import com.hyxt.superviseservice.messageBody.T809_0x9101;
import com.hyxt.superviseservice.messageBody.T809_0x9200;
import com.hyxt.superviseservice.messageBody.T809_0x9202;
import com.hyxt.superviseservice.messageBody.T809_0x9203;
import com.hyxt.superviseservice.messageBody.T809_0x9204;
import com.hyxt.superviseservice.messageBody.T809_0x9205;
import com.hyxt.superviseservice.messageBody.T809_0x9206;
import com.hyxt.superviseservice.messageBody.T809_0x9207;
import com.hyxt.superviseservice.messageBody.T809_0x9208;
import com.hyxt.superviseservice.messageBody.T809_0x9209;
import com.hyxt.superviseservice.messageBody.T809_0x920A;
import com.hyxt.superviseservice.messageBody.T809_0x920B;
import com.hyxt.superviseservice.messageBody.T809_0x9300;
import com.hyxt.superviseservice.messageBody.T809_0x9301;
import com.hyxt.superviseservice.messageBody.T809_0x9302;
import com.hyxt.superviseservice.messageBody.T809_0x9400;
import com.hyxt.superviseservice.messageBody.T809_0x9401;
import com.hyxt.superviseservice.messageBody.T809_0x9402;
import com.hyxt.superviseservice.messageBody.T809_0x9403;
import com.hyxt.superviseservice.messageBody.T809_0x9500;
import com.hyxt.superviseservice.messageBody.T809_0x9501;
import com.hyxt.superviseservice.messageBody.T809_0x9502;
import com.hyxt.superviseservice.messageBody.T809_0x9503;
import com.hyxt.superviseservice.messageBody.T809_0x9504;
import com.hyxt.superviseservice.messageBody.T809_0x9505;
import com.hyxt.superviseservice.messageBody.T809_0x9600;
import com.hyxt.superviseservice.messageBody.T809_0x9601;
import com.hyxt.superviseservice.messageBody.T809_NULL;
import com.hyxt.DTO.process.T809_0x1001_Process;
import com.hyxt.DTO.process.T809_0x1002_Process;
import com.hyxt.DTO.process.T809_0x1003_Process;
import com.hyxt.DTO.process.T809_0x1004_Process;
import com.hyxt.DTO.process.T809_0x1005_Process;
import com.hyxt.DTO.process.T809_0x1006_Process;
import com.hyxt.DTO.process.T809_0x1007_Process;
import com.hyxt.DTO.process.T809_0x1008_Process;
import com.hyxt.DTO.process.T809_0x1200_Process;
import com.hyxt.DTO.process.T809_0x1201_Process;
import com.hyxt.DTO.process.T809_0x1202_Process;
import com.hyxt.DTO.process.T809_0x1203_Process;
import com.hyxt.DTO.process.T809_0x1205_Process;
import com.hyxt.DTO.process.T809_0x1206_Process;
import com.hyxt.DTO.process.T809_0x1207_Process;
import com.hyxt.DTO.process.T809_0x1208_Process;
import com.hyxt.DTO.process.T809_0x1209_Process;
import com.hyxt.DTO.process.T809_0x120A_Process;
import com.hyxt.DTO.process.T809_0x120B_Process;
import com.hyxt.DTO.process.T809_0x120C_Process;
import com.hyxt.DTO.process.T809_0x120D_Process;
import com.hyxt.DTO.process.T809_0x1300_Process;
import com.hyxt.DTO.process.T809_0x1301_Process;
import com.hyxt.DTO.process.T809_0x1302_Process;
import com.hyxt.DTO.process.T809_0x1400_Process;
import com.hyxt.DTO.process.T809_0x1401_Process;
import com.hyxt.DTO.process.T809_0x1402_Process;
import com.hyxt.DTO.process.T809_0x1403_Process;
import com.hyxt.DTO.process.T809_0x1500_Process;
import com.hyxt.DTO.process.T809_0x1501_Process;
import com.hyxt.DTO.process.T809_0x1502_Process;
import com.hyxt.DTO.process.T809_0x1503_Process;
import com.hyxt.DTO.process.T809_0x1504_Process;
import com.hyxt.DTO.process.T809_0x1505_Process;
import com.hyxt.DTO.process.T809_0x1600_Process;
import com.hyxt.DTO.process.T809_0x1601_Process;
import com.hyxt.DTO.process.T809_0x9001_Process;
import com.hyxt.DTO.process.T809_0x9002_Process;
import com.hyxt.DTO.process.T809_0x9003_Process;
import com.hyxt.DTO.process.T809_0x9004_Process;
import com.hyxt.DTO.process.T809_0x9005_Process;
import com.hyxt.DTO.process.T809_0x9006_Process;
import com.hyxt.DTO.process.T809_0x9007_Process;
import com.hyxt.DTO.process.T809_0x9008_Process;
import com.hyxt.DTO.process.T809_0x9101_Process;
import com.hyxt.DTO.process.T809_0x9200_Process;
import com.hyxt.DTO.process.T809_0x9202_Process;
import com.hyxt.DTO.process.T809_0x9203_Process;
import com.hyxt.DTO.process.T809_0x9204_Process;
import com.hyxt.DTO.process.T809_0x9205_Process;
import com.hyxt.DTO.process.T809_0x9206_Process;
import com.hyxt.DTO.process.T809_0x9207_Process;
import com.hyxt.DTO.process.T809_0x9208_Process;
import com.hyxt.DTO.process.T809_0x9209_Process;
import com.hyxt.DTO.process.T809_0x920A_Process;
import com.hyxt.DTO.process.T809_0x920B_Process;
import com.hyxt.DTO.process.T809_0x9300_Process;
import com.hyxt.DTO.process.T809_0x9301_Process;
import com.hyxt.DTO.process.T809_0x9302_Process;
import com.hyxt.DTO.process.T809_0x9400_Process;
import com.hyxt.DTO.process.T809_0x9401_Process;
import com.hyxt.DTO.process.T809_0x9402_Process;
import com.hyxt.DTO.process.T809_0x9403_Process;
import com.hyxt.DTO.process.T809_0x9500_Process;
import com.hyxt.DTO.process.T809_0x9501_Process;
import com.hyxt.DTO.process.T809_0x9502_Process;
import com.hyxt.DTO.process.T809_0x9503_Process;
import com.hyxt.DTO.process.T809_0x9504_Process;
import com.hyxt.DTO.process.T809_0x9505_Process;
import com.hyxt.DTO.process.T809_0x9600_Process;
import com.hyxt.DTO.process.T809_0x9601_Process;

/**
 * @Project: CNPC_VMS
 * @Title: 809协议处理管理器
 * @Description: 809协议处理管理器
 * @author: guanhl
 * @date: 2014年3月21日 上午11:12:44
 * @company: Beijing Huayou Information andCommunication Technology Co.,Ltd
 * @Copyright: Copyright (c) 2014
 * @version V2.0
 */
public enum T809_MessageProcessManager {
	/**
	 * @Description:空类
	 */
	T809_NULL(new T809_0x1001_Process<T809_NULL>()),
	/**
	 * @Description:主链路登录请求消息
	 */
	T809_0x1001(new T809_0x1001_Process<T809_0x1001>()),
	/**
	 * @Description:主链路登录注销消息
	 */
	T809_0x1002(new T809_0x1002_Process<T809_0x1002>()),
	/**
	 * @Description:主链路注销请求消息
	 */
	T809_0x1003(new T809_0x1003_Process<T809_0x1003>()),
	/**
	 * @Description:主链路注销应答消息
	 */
	T809_0x1004(new T809_0x1004_Process<T809_0x1004>()),
	/**
	 * @Description:主链路连接保持请求消息
	 */
	T809_0x1005(new T809_0x1005_Process<T809_0x1005>()),
	/**
	 * @Description:主链路连接保持应答消息
	 */
	T809_0x1006(new T809_0x1006_Process<T809_0x1006>()),
	/**
	 * @Description:主链路断开通知消息
	 */
	T809_0x1007(new T809_0x1007_Process<T809_0x1007>()),
	/**
	 * @Description:下级平台主动关闭链路通知消息
	 */
	T809_0x1008(new T809_0x1008_Process<T809_0x1008>()),
	/**
	 * @Description:主链路动态信息交换消息
	 */
	T809_0x1200(new T809_0x1200_Process<T809_0x1200>()),
	/**
	 * @Description:上传车辆注册信息
	 */
	T809_0x1201(new T809_0x1201_Process<T809_0x1201>()),
	/**
	 * @Description:事实上传车辆定位信息
	 */
	T809_0x1202(new T809_0x1202_Process<T809_0x1202>()),
	/**
	 * @Description:车辆定位信息自动补报
	 */
	T809_0x1203(new T809_0x1203_Process<T809_0x1203>()),
	/**
	 * @Description:启动车辆定位信息交换应答
	 */
	T809_0x1205(new T809_0x1205_Process<T809_0x1205>()),
	/**
	 * @Description:结束车辆定位信息交换应答
	 */
	T809_0x1206(new T809_0x1206_Process<T809_0x1206>()),
	/**
	 * @Description:上报车辆驾驶员身份信息应答
	 */
	T809_0x120A(new T809_0x120A_Process<T809_0x120A>()),
	/**
	 * @Description:上报车辆电子运单应答
	 */
	T809_0x120B(new T809_0x120B_Process<T809_0x120B>()),
	/**
	 * @Description:主动上报驾驶员身份信息
	 */
	T809_0x120C(new T809_0x120C_Process<T809_0x120C>()),
	/**
	 * @Description:主动上报车辆电子运单信息
	 */
	T809_0x120D(new T809_0x120D_Process<T809_0x120D>()),
	/**
	 * @Description:申请交换指定车辆定位信息请求
	 */
	T809_0x1207(new T809_0x1207_Process<T809_0x1207>()),
	/**
	 * @Description:取消交换指定车辆定位信息请求
	 */
	T809_0x1208(new T809_0x1208_Process<T809_0x1208>()),
	/**
	 * @Description:补发车辆定位信息请求
	 */
	T809_0x1209(new T809_0x1209_Process<T809_0x1209>()),
	/**
	 * @Description:主链路平台间信息交互消息
	 */
	T809_0x1300(new T809_0x1300_Process<T809_0x1300>()),
	/**
	 * @Description:平台查岗应答
	 */
	T809_0x1301(new T809_0x1301_Process<T809_0x1301>()),
	/**
	 * @Description:下发平台间报文应答
	 */
	T809_0x1302(new T809_0x1302_Process<T809_0x1302>()),
	/**
	 * @Description:主链路报警信息交互消息
	 */
	T809_0x1400(new T809_0x1400_Process<T809_0x1400>()),
	/**
	 * @Description:报警督办应答
	 */
	T809_0x1401(new T809_0x1401_Process<T809_0x1401>()),
	/**
	 * @Description:上报报警信息
	 */
	T809_0x1402(new T809_0x1402_Process<T809_0x1402>()),
	/**
	 * @Description:主动上报报警处理结果信息
	 */
	T809_0x1403(new T809_0x1403_Process<T809_0x1403>()),
	/**
	 * @Description:主链路车辆监管消息
	 */
	T809_0x1500(new T809_0x1500_Process<T809_0x1500>()),
	/**
	 * @Description:车辆单向监听应答
	 */
	T809_0x1501(new T809_0x1501_Process<T809_0x1501>()),
	/**
	 * @Description:车辆拍照应答
	 */
	T809_0x1502(new T809_0x1502_Process<T809_0x1502>()),
	/**
	 * @Description:下发车辆报文应答
	 */
	T809_0x1503(new T809_0x1503_Process<T809_0x1503>()),
	/**
	 * @Description:上报车辆行驶记录应答
	 */
	T809_0x1504(new T809_0x1504_Process<T809_0x1504>()),
	/**
	 * @Description:车辆应急接入监管平台应答
	 */
	T809_0x1505(new T809_0x1505_Process<T809_0x1505>()),
	/**
	 * @Description:主链路静态信息交换消息
	 */
	T809_0x1600(new T809_0x1600_Process<T809_0x1600>()),
	/**
	 * @Description:补报车辆静态信息应答
	 */
	T809_0x1601(new T809_0x1601_Process<T809_0x1601>()),
	/**
	 * @Description:从链路连接请求消息
	 */
	T809_0x9001(new T809_0x9001_Process<T809_0x9001>()),
	/**
	 * @Description:从链路连接应答消息
	 */
	T809_0x9002(new T809_0x9002_Process<T809_0x9002>()),
	/**
	 * @Description:从链路注销请求消息
	 */
	T809_0x9003(new T809_0x9003_Process<T809_0x9003>()),
	/**
	 * @Description:从链路注销应答消息
	 */
	T809_0x9004(new T809_0x9004_Process<T809_0x9004>()),
	/**
	 * @Description:从链路连接保持请求消息
	 */
	T809_0x9005(new T809_0x9005_Process<T809_0x9005>()),
	/**
	 * @Description:从链路连接保持应答消息
	 */
	T809_0x9006(new T809_0x9006_Process<T809_0x9006>()),
	/**
	 * @Description:从链路断开通知消息
	 */
	T809_0x9007(new T809_0x9007_Process<T809_0x9007>()),
	/**
	 * @Description:上级平台主动关闭链路通知消息
	 */
	T809_0x9008(new T809_0x9008_Process<T809_0x9008>()),
	/**
	 * @Description:接收定位信息数量通知消息
	 */
	T809_0x9101(new T809_0x9101_Process<T809_0x9101>()),
	/**
	 * @Description:从链路动态信息交换消息
	 */
	T809_0x9200(new T809_0x9200_Process<T809_0x9200>()),
		/**
	 * @Description:交换车辆定位信息
	 */
	T809_0x9202(new T809_0x9202_Process<T809_0x9202>()),
	/**
	 * @Description:车辆定位信息交换补发
	 */
	T809_0x9203(new T809_0x9203_Process<T809_0x9203>()),
	/**
	 * @Description:交换车辆静态信息
	 */
	T809_0x9204(new T809_0x9204_Process<T809_0x9204>()),
	/**
	 * @Description:启动车辆定位信息交换请求
	 */ 
	T809_0x9205(new T809_0x9205_Process<T809_0x9205>()),
	/**
	 * @Description:结束车辆定位信息交换请求
	 */
	T809_0x9206(new T809_0x9206_Process<T809_0x9206>()),
	/**
	 * @Description:申请交换指定车辆定位应答
	 */
	T809_0x9207(new T809_0x9207_Process<T809_0x9207>()),
	/**
	 * @Description:取消交换指定车辆定位应答
	 */
	T809_0x9208(new T809_0x9208_Process<T809_0x9208>()),
	/**
	 * @Description:补发车辆定位信息应答
	 */
	T809_0x9209(new T809_0x9209_Process<T809_0x9209>()),
	/**
	 * @Description:上报车辆驾驶员身份信息请求
	 */
	T809_0x920A(new T809_0x920A_Process<T809_0x920A>()),
	/**
	 * @Description:上报车辆电子运单请求
	 */
	T809_0x920B(new T809_0x920B_Process<T809_0x920B>()),
	/**
	 * @Description:从链路平台间信息交互消息
	 */
	T809_0x9300(new T809_0x9300_Process<T809_0x9300>()),
	/**
	 * @Description:平台查岗请求
	 */
	T809_0x9301(new T809_0x9301_Process<T809_0x9301>()),
	/**
	 * @Description:下发平台间报文应答
	 */
	T809_0x9302(new T809_0x9302_Process<T809_0x9302>()),
	/**
	 * @Description:从链路报警信息交互消息
	 */
	T809_0x9400(new T809_0x9400_Process<T809_0x9400>()),
	/**
	 * @Description:报警督办请求
	 */
	T809_0x9401(new T809_0x9401_Process<T809_0x9401>()),
	/**
	 * @Description:报警预警
	 */
	T809_0x9402(new T809_0x9402_Process<T809_0x9402>()),
	/**
	 * @Description:实时交换报警消息
	 */
	T809_0x9403(new T809_0x9403_Process<T809_0x9403>()),
	/**
	 * @Description:从链路车辆监管消息
	 */
	T809_0x9500(new T809_0x9500_Process<T809_0x9500>()),
	/**
	 * @Description:车辆单向监听请求
	 */
	T809_0x9501(new T809_0x9501_Process<T809_0x9501>()),
	/**
	 * @Description:车辆拍照请求
	 */
	T809_0x9502(new T809_0x9502_Process<T809_0x9502>()),
	/**
	 * @Description:下发车辆报文请求
	 */
	T809_0x9503(new T809_0x9503_Process<T809_0x9503>()),
	/**
	 * @Description:上报车辆行驶记录应答
	 */
	T809_0x9504(new T809_0x9504_Process<T809_0x9504>()),
	/**
	 * @Description:车辆应急接入监管平台请求
	 */
	T809_0x9505(new T809_0x9505_Process<T809_0x9505>()),
	/**
	 * @Description:从链路静态信息交换消息
	 */
	T809_0x9600(new T809_0x9600_Process<T809_0x9600>()),
	/**
	 * @Description:补报车辆静态信息请求
	 */
	T809_0x9601(new T809_0x9601_Process<T809_0x9601>());

	private T809_Process<?> process;

	private T809_MessageProcessManager(T809_Process<?> process) {
		this.process = process;
	}
	/**
	 * @Description:获取相应请求实例
	 */
	public static T809_Process<?> getProcess(int messageID) {
		String key = T809_Util.hexToUpperCaseString(messageID);
		return T809_MessageProcessManager.valueOf(key).process;
	}

}
